package com.aizuda.boot.modules.business.longterm.service;

import com.aizuda.boot.modules.business.longterm.domain.entity.LongTermContract;
import com.aizuda.boot.modules.business.longterm.domain.response.LongTermDetailVO;
import com.aizuda.boot.modules.business.longterm.domain.response.LongTermVo;
import com.aizuda.boot.modules.business.longterm.domain.resquest.LongTermSaveDTO;
import com.aizuda.boot.modules.business.longterm.domain.resquest.LongTermUpdateDTO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @Author sangyirong
 * @ClassName LongTermContractService
 * @Version 1.0
 * @Date 2025/7/7 16:05
 */
public interface LongTermContractService extends IService<LongTermContract> {

    /**
     * 新增长期合同
     * @param dto
     * @return
     */
    boolean saveLongTermContract(LongTermSaveDTO dto);

    /**
     * 查询长期合同详情
     * @param id
     * @return
     */
    LongTermDetailVO queryDetail(Long id);

    /**
     * 查询长期合同列表
     * @return
     */
    List<LongTermVo> listVO();

    /**
     * 修改长期合同
     * @param dto
     * @return
     */
    boolean updateLongTermContract(LongTermUpdateDTO dto);

    /**
     * 删除长期合同
     * @param id
     * @return
     */
    boolean removeLongTermContract(Long id);
}
